Skip to content

Text style editing: font/size/colour/alignment/bg/border/shadow in Inspector#166

Merged
appergb merged 1 commit into
mainfrom
feat/text-style
Jun 28, 2026
Merged

Text style editing: font/size/colour/alignment/bg/border/shadow in Inspector#166
appergb merged 1 commit into
mainfrom
feat/text-style

Conversation

@appergb

@appergb appergb commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Wires text-clip style editing end-to-end: new ClipProperties.text_style (domain→ops→IPC→editActions→Inspector TextTab), driving the existing CosmicTextRasterizer. Boxed the SetClipProperties payload to satisfy clippy large_enum_variant. New domain/ops/serde tests; web 174/174.

🤖 Generated with Claude Code

Wire the full text-style chain so selecting a text clip lets the user
change font, size, color, alignment, background, border, and shadow in
the Inspector, with the change re-rasterizing live.

The domain `TextStyle` and the render `CosmicTextRasterizer` already
supported these; the missing link was a command/IPC path to write
`clip.text_style`, and a UI beyond the plain text box.

- ops: add `text_style: Option<TextStyle>` to `ClipProperties`, written
  in `apply_property_changes` (reuses the existing `SetClipProperties`
  transaction → undo/redo/version for free). Two unit tests.
- ipc: add `textStyle` to `ClipPropertiesDto` (camelCase, `serde(default)`)
  and map it through; serde regression test.
- types: add `textStyle?: TextStyle` to `ClipPropertiesReq`.
- inspector: TextTab gains font family / size (scrubbable) / color /
  alignment / background / border / shadow controls, reusing
  ScrubbableNumberField + the color-swatch pattern. New i18n keys (zh/en).
- The `SetClipProperties` payload (ops enum + IPC DTO) is now boxed:
  `TextStyle` makes `ClipProperties` large enough to trip clippy's
  large_enum_variant, and the enum is cloned on every undo snapshot.

Render needs no change: text resolves by clip_id and reads the live
`text_style` at composite time.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@appergb appergb merged commit 0d294b2 into main Jun 28, 2026
2 checks passed
@appergb appergb deleted the feat/text-style branch June 28, 2026 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant